package com.itheima.dao;

import com.itheima.pojo.Menu2;
import com.itheima.pojo.Menu;
import com.itheima.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * @author liam
 * @description
 * @date 2020/3/4-22:13
 * @Version 1.0.0
 */
public interface RoleDao {

    int deleteByPrimaryKey(Integer id);

    int insert(Role record);

    int insertSelective(Role record);

    Role selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Role record);

    int updateByPrimaryKey(Role record);

    Set<Role> findByUserId(@Param("userId") Integer userId);


    List<Menu2> getMenuList(@Param("roleIds")List<Integer> roleIds, @Param("level")int level);

    List<Role> findAll();

    List<Role> findPage(@Param("queryString") String queryString);

    void add(Role role);

    void setRoleAndPermission(@Param("permissionId")Integer permissionId,@Param("roleId") Integer roleId);

    Role findById(Integer id);

    List<Integer> findPermissionIdsByroleId(@Param("id")Integer id);

    void add(Menu menu);
}
